作者:蒋筱谷_680 | 来源:互联网 | 2023-08-24 16:28
全文链接:http://tecdat.cn/?p=3889
原文出处:拓端数据部落公众号
相关视频:时间序列分析:ARIMA GARCH模型分析股票价格数据
时间序列分析模型 ARIMA-ARCH GARCH模型分析股票价格数据
此示例显示如何估计条件均值和方差模型。
加载数据并指定模型
加载NASDAQ数据 。为了使数值平稳,将数据转换为收益率。建立AR(1)和GARCH(1,1)模型。
load Data_EquityIdx
nasdaq = DataTable.NASDAQ;
r = 100*price2ret(nasdaq);
T = length(r);Mdl = arima('ARLags',1,'Variance',garch(1,1))
Mdl = arima with properties:Description: "ARIMA(1,0,0) Model (Gaussian Distribution)"Distribution: Name = "Gaussian"P: 1D: 0Q: 0Constant: NaNAR: {NaN} at lag [1]SAR: {}MA: {}SMA: {}Seasonality: 0Beta: [1×0]Variance: [GARCH(1,1) Model]
不使用预采样数据估计模型参数
使用estimate
。使用estimate
自动生成的预采样样本。
EstMdl = estimate(Mdl,r);ARIMA(1,0,0) Model (Gaussian Distribution):Value StandardError TStatistic PValue ________ _____________ __________ __________Constant 0.072632 0.018047 4.0245 5.7087e-05AR{1} 0.13816 0.019893 6.945 3.7845e-12GARCH(1,1) Conditional Variance Model (Gaussian Distribution):Value StandardError TStatistic PValue ________ _____________ __________ __________Constant 0.022377 0.0033201 6.7399 1.5852e-11GARCH{1} 0.87312 0.0091019 95.927 0ARCH{1} 0.11865 0.008717 13.611 3.4339e-42
估计显示五个估计参数及其对应的标准误差(AR(1),条件均值模型具有两个参数,GARCH(1,1)条件方差模型具有三个参数。
推断条件方差和标准化残差
推断并绘制条件方差和标准化残差。 输出对数似然目标函数值。
[res,v,logL] = infer(EstMdl,r);figure
subplot(2,1,1)
plot(v)
xlim([0,T])
title('Conditional Variance')subplot(2,1,2)
plot(res./sqrt(v))
xlim([0,T])
title('Standardized Residuals')
![](https://img3.php1.cn/3cdc5/63cc/ae9/62a480b56611c839.png)
在2000个样本之后,条件方差增加。看到波动性增加。
标准化残差在标准正态分布下具有比预期更大的值 。
拟合具有t分布的模型
修改模型为Student's t分布 ,指定方差模型常量项的初始值。
MdlT = Mdl;
MdlT.Distribution = 't';
EstMdlT = estimate(MdlT,r,'Variance0',{'Constant0',0.001});ARIMA(1,0,0) Model (t Distribution):Value StandardError TStatistic PValue ________ _____________ __________ __________Constant 0.093488 0.016694 5.6002 2.1412e-08AR{1} 0.13911 0.018857 7.3771 1.6175e-13DoF 7.4775 0.88261 8.472 2.4125e-17GARCH(1,1) Conditional Variance Model (t Distribution):Value StandardError TStatistic PValue ________ _____________ __________ __________Constant 0.011246 0.0036305 3.0976 0.0019511GARCH{1} 0.90766 0.010516 86.316 0ARCH{1} 0.089897 0.010835 8.2966 1.0712e-16DoF 7.4775 0.88261 8.472 2.4125e-17
当t分布时,系数估计值会略有变化。第二个模型拟合(EstMdlT
)有一个额外的参数估计,即t分布自由度。估计的自由度相对较小(约为8),表明有明显误差。
比较模型拟合
使用赤池信息准则(AIC)和贝叶斯信息准则(BIC)比较两种模型拟合 。首先,获得第二拟合的对数似然目标函数值。
[resT,vT,logLT] = infer(EstMdlT,r);
[aic,bic] = aicbic([logL,logLT],[5,6],T)
aic = 1×2
103 ×9.4929 9.3807bic = 1×2
103 ×9.5230 9.4168
第二个模型有六个参数,而第一个模型中有五个参数 。尽管如此,两个信息标准都支持具有学生t分布的模型。
![](https://img3.php1.cn/3cdc5/63cc/ae9/1f6ef9e304246296.png)
最受欢迎的见解
1.在python中使用lstm和pytorch进行时间序列预测
2.python中利用长短期记忆模型lstm进行时间序列预测分析
3.使用r语言进行时间序列(arima,指数平滑)分析
4.r语言多元copula-garch-模型时间序列预测
5.r语言copulas和金融时间序列案例
6.使用r语言随机波动模型sv处理时间序列中的随机波动
7.r语言时间序列tar阈值自回归模型
8.r语言k-shape时间序列聚类方法对股票价格时间序列聚类
9.python3用arima模型进行时间序列预测